AWS Deep Learning AMI (DLAMI)に導入されているCUDAのバージョンを切り替えてみた。
こんにちは、コンサル部@大阪オフィスのTodaです。
EC2で高速コンピューティング(G4, G3)のインスタンスにはNVIDIA社のGPUが搭載されてるものがございます。
利用するAMIによっては複数バージョンのCUDAが用意されている場合があり、切換をする事ができます。
今回、切換方法をご案内します。
やりたいこと
AMIに導入されているCUDAのバージョンを変更する。
※利用されるAMIによって導入されているCUDAバージョンは変わります。
今回は AMI Deep Learning AMI (Ubuntu 18.04) Version 38.0 [ami-02ef140681509d446] を利用しています。
現在設定されているCUDAを確認
下記コマンドを利用する事で現在設定されているCUDAのバージョンが確認することができます。
$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA Corporation Built on Sat_Aug_25_21:08:01_CDT_2018 Cuda compilation tools, release 10.0, V10.0.130
利用可能なCUDAを確認
下記コマンドを利用する事で導入されているCUDAのバージョンを確認することができます。
確認をしたところ私の環境では5つのバージョンが利用できるようです。
$ ls -l /usr/local/ | grep "cuda" lrwxrwxrwx 1 root root 20 Dec 18 09:00 cuda -> /usr/local/cuda-10.0 drwxr-xr-x 22 root root 4096 Nov 25 03:23 cuda-10.0 drwxr-xr-x 19 root root 4096 Nov 25 03:18 cuda-10.1 drwxr-xr-x 20 root root 4096 Nov 25 03:21 cuda-10.2 drwxr-xr-x 20 root root 4096 Nov 25 03:16 cuda-11.0 drwxr-xr-x 19 root root 4096 Nov 25 03:12 cuda-11.1
CUDAの切り替え
CUDAのバージョン切換は同ディレクトリにある「cuda」のリンクを切り替えることで対応が可能です。
現在、cuda-10.0になっているリンクを削除してcuda-11.0に変更してみます。
$ sudo unlink /usr/local/cuda $ sudo ln -s /usr/local/cuda-11.0 /usr/local/cuda
切換後、再度バージョンを確認してみます。
$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2020 NVIDIA Corporation Built on Wed_Jul_22_19:09:09_PDT_2020 Cuda compilation tools, release 11.0, V11.0.221 Build cuda_11.0_bu.TC445_37.28845127_0
バージョンが11に変わっている事が確認できました。
注意点
nvidia-smiのバージョン表示について
nvidia-smiコマンドで表示されるCUDAバージョンは設定されているCUDAバージョンが表示されませんのでご注意ください。
$ nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 CUDA Version: 11.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | ** 以下略 **
表示されているCUDAバージョンは、 ドライバに対して互換性が高いCUDAバージョンを表示する仕様になっております。 上記の場合はドライババージョン:450.80.02 で互換性の高いCUDAバージョンは 11.0 という内容になります。
■ nvidia-smi doesn’t show CUDA version even after installation
https://forums.developer.nvidia.com/t/nvidia-smi-doesnt-show-cuda-version-even-after-installation/68738
Also, be aware that the CUDA VERSION displayed by nvidia-smi associated with newer drivers is the DRIVER API COMPATIBILITY VERSION. It does not indicate anything at all about what CUDA version is actually installed. A 410.72 driver will display CUDA VERSION 10.0 even when no CUDA toolkit is installed.
設定されているCUDAのバージョンを確認する場合は、下記コマンドをご利用ください。
$ nvcc -V OR $ cat /usr/local/cuda/version.txt
さいごに
今回はAWS Deep Learning AMI (DLAMI)に導入されているCUDAのバージョンを変更してみました。
少しでもお客様の作りたい物の参考になればと考えております。